home *** CD-ROM | disk | FTP | other *** search
/ PC-SIG: World of Education / PC-SiG's World of Education.iso / wor / disk1101.zip / CIPHER.ZIP / CIPHER.DOC < prev   
Text File  |  1989-08-01  |  27KB  |  611 lines

  1.  
  2.  
  3.  
  4.  
  5.                                 CIPHER Ver. 1.2
  6.                         (c) Copyright 1989 Mike Albert
  7.                                   August 1989
  8.  
  9.  
  10.  
  11. 1   INTRODUCTION
  12.  
  13.     Cipher is a program that scrambles files so that no one can use them -
  14. unless they have the correct key.  (If you're familiar with earlier versions
  15. of Cipher, look at section 8 to learn about new enhancements.)  Cipher
  16. provides the following benefits:
  17.  
  18.     *   Protection is provided by a reliable, documented method that is highly
  19.         resistant to attack - even by expert programmers and cryptographic
  20.         analysts.
  21.  
  22.     *   Cipher is easy to use - it protects you from mistakes and helps you to
  23.         remember keys.
  24.  
  25.     *   Cipher is faster than other programs that provide comparable security.
  26.  
  27.     *   Cipher can encrypt files in place, so unerase utilities can't recreate
  28.         them.
  29.  
  30.     *   Cipher can also make a new encrypted file and leave the original file
  31.         untouched - this is useful when sending an encrypted file to someone
  32.         else.
  33.  
  34.     *   Cipher can be used from batch files to provide security automatically.
  35.  
  36.     *   Cipher is less expensive than commercially available programs.
  37.  
  38.     *   Cipher guards against changes to itself - you can be sure you have an
  39.         unmodified Cipher and also detect any subsequent tampering.
  40.  
  41.     *   All proceeds of Cipher go to Oxfam America, an international self-help
  42.         and disaster relief organization.
  43.  
  44.  
  45.     Cipher encrypts and decrypts files using a cryptographically sound method.
  46. Encryption makes a file unintelligible and useless.  Decryption is the
  47. reverse - it converts the encrypted information to its original understandable
  48. form.  The encryption is controlled by a key that you provide.  You can use
  49. any string of characters you like.  When you want to use the files, you
  50. decrypt them using the same key to return them to their original form.
  51. Someone who doesn't know the correct key or doesn't have Cipher is powerless
  52. to make the file useful again.
  53.  
  54.     Cipher protects you from common errors such as decrypting a file with the
  55. wrong key, decrypting a file that's not encrypted, or encrypting a file twice
  56. (unless you specifically request it).  It also helps you remember your key -
  57. you describe the key when you encrypt (e.g. "my old Corvette license number"),
  58.  
  59.  
  60.  
  61.                                      - 1 -
  62.  
  63.  
  64.  
  65.  
  66. and Cipher displays your description when you decrypt.  You can control Cipher
  67. interactively, with command line arguments, or via an MS-DOS environment
  68. variable.  Cipher is also well suited to batch file use.
  69.  
  70.     Cipher runs on any MS-DOS compatible machine (IBM and BIOS compatibility
  71. is not needed) using MS-DOS 2.00 or later, and uses 64K of memory.  All
  72. standard display adapters may be used as long they display at least 80
  73. characters per line.  Files may reside on floppy or hard disks and be any type
  74. or size.
  75.  
  76.     Note that Cipher keeps people from understanding and using the contents of
  77. your files, but doesn't prevent normal file operations such as deleting,
  78. copying, or renaming.  If you're concerned about someone destroying your data,
  79. Cipher doesn't help.  Cipher does protect against the introduction of false
  80. information.  Someone can modify an encrypted file, but they can't achieve a
  81. specific result because decryption affects their changes in an unpredictable
  82. way.  Consequently a file that is modified in its encrypted form will have
  83. garbage in the changed portion of the file when it's decrypted.
  84.  
  85.     Remember that you MUST specify the correct key to decrypt a file and make
  86. it useful again.  Cipher will help you recall the key and tell you if you
  87. enter the wrong one, but it doesn't remember the key for you.  If you forget
  88. the key there are no shortcuts or bypasses - you're stuck with a useless file!
  89. Since Cipher encrypts files in-place to ensure security, Norton utilities or
  90. the like won't help.  Cipher has no trapdoors that let you, me, or anyone else
  91. decrypt a file without the key, so BE CAREFUL!
  92.  
  93.     If you want to try out Cipher right now, just run Cipher with no command
  94. line arguments.  Cipher will display a brief description of its operation that
  95. you can use to get started.  While you're getting used to Cipher, be sure to
  96. work in a test directory with test files to ensure that you don't irrevocably
  97. scramble something important.
  98.  
  99.  
  100.  
  101. 2   OPERATION
  102.  
  103.     You control Cipher by command line arguments that specify the commands to
  104. be performed, options, and the files to be encrypted or decrypted.  The
  105. commands and options must precede the files on the command line and be
  106. separated with blanks.  You can specify multiple options, but only one
  107. command.  You can use one of the following commands:
  108.  
  109.     COMMAND     MEANING     EXPLANATION
  110.  
  111.     -e          Encrypt     Encrypts the files and prompts you for the key.
  112.                             You are only prompted once - the key you enter is
  113.                             used for all the files.
  114.  
  115.     -e<key>     Encrypt     Encrypts the files using <key>.
  116.  
  117.     -d          Decrypt     Decrypts the files and prompts for the key.
  118.                             Cipher will only decrypt encrypted files.  If the
  119.  
  120.  
  121.  
  122.                                     - 2 -
  123.  
  124.  
  125.  
  126.  
  127.                             files were encrypted with the -i option, Cipher
  128.                             helps you remember the key by displaying the key
  129.                             description you provided.  If the key you specify
  130.                             is incorrect, Cipher prompts you for the correct
  131.                             key.
  132.  
  133.     -d<key>     Decrypt     Decrypts the files using <key>.  This command
  134.                             works like -d above except that the key provided
  135.                             with the command is used.
  136.  
  137.  
  138. You can use the following options:
  139.  
  140.     OPTION      MEANING     EXPLANATION
  141.  
  142.     -i<desc>    Info        Saves a description of the key used to encrypt the
  143.                             files.  When you encrypt or decrypt the files,
  144.                             Cipher displays the description for you in the key
  145.                             prompt.  For example, you could use "my student id
  146.                             number at Penn State".
  147.  
  148.     -r          Re-encrypt  Lets you encrypt a file even if it is already
  149.                             encrypted.  This is useful when two people want to
  150.                             control the use of one file - each person can
  151.                             encrypt with his own password.  Encrypting a file
  152.                             more than once also provides even greater
  153.                             security.  A file encrypted more than once must be
  154.                             decrypted in reverse order of encryption, i.e. the
  155.                             first decryption must use the key from the last
  156.                             encryption.
  157.  
  158.     -s          Suppress    Suppresses screen list of the name of each file
  159.                             processed or skipped - only a summary is shown.
  160.                             Error messages are not suppressed.
  161.  
  162.  
  163.     If you specify the file names on the command line as described above,
  164. Cipher encrypts or decrypts the files in place.  File names can include drive
  165. letters, paths, and wild-card characters ("*" and "?") in the standard MS-DOS
  166. format.  To specify multiple file names, separate the names with spaces.
  167.  
  168.     If you want to make a new file and leave the original file untouched, use
  169. input and output redirection (invoked via the "<", ">", and "|" command line
  170. options) to identify the files.  File redirection is described in the MS-DOS
  171. manual under "Redirecting Command Input and Output".  You can only process one
  172. file at a time this way.  Make sure the input and output file are different,
  173. or the file will be destroyed.  An example of redirection is shown in the last
  174. example below.
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.                                     - 3 -
  184.  
  185.  
  186.  
  187.  
  188.     Some examples of Cipher use are as follows:
  189.  
  190.               cipher  -eMike  -i"my first name"  test.*
  191.  
  192.     All files in the current directory matching the name test.* are encrypted
  193.     in place using key "Mike".  When you decrypt the files the key description
  194.     (i.e. "my first name") will be shown with the prompt.
  195.  
  196.               cipher  -d  a:\mp\data\*.*  a:\wp\*.*
  197.  
  198.     All files on drive a: in directory \mp\data and \wp that were previously
  199.     encrypted are decrypted in place.  Unencrypted files are left alone.  You
  200.     are prompted for the decryption keys.  Cipher remembers the keys you enter
  201.     during the run, and only prompts you for different keys.
  202.  
  203.               cipher  -eMike
  204.  
  205.     All files specified interactively (i.e. in response to Cipher's prompt)
  206.     are encrypted in place using the key "Mike".
  207.  
  208.               cipher  -eMike  <letter.src  >letter.snd
  209.  
  210.     File letter.src is encrypted with key "Mike" and written to file
  211.     letter.snd.  File letter.src is not altered.
  212.  
  213.  
  214.     If you want to interrupt Cipher at any time press Ctrl-C.  If Cipher is
  215. waiting for input from you it will terminate immediately.  If Cipher is
  216. encrypting or decrypting a file, it will terminate when the operation is
  217. complete.
  218.  
  219.     Note that Cipher gives you the capability to protect your information, but
  220. doesn't guarantee safety.  To ensure security there are several things you
  221. should remember:
  222.  
  223.     1.  Don't hard-code your keys in batch files.  Anyone can run or examine
  224.         them and decrypt your files.
  225.  
  226.     2.  Don't use keys that can be easily guessed, such as your initials or
  227.         your girlfriend's first name.  This sort of thing is the first method
  228.         most attackers will try.
  229.  
  230.     3.  Don't write your keys down and leave them somewhere they can be found.
  231.  
  232.     4.  Be careful with the -i (key description) option.  To be safe, you must
  233.         refer to information only YOU know.
  234.  
  235.     5.  Use long keys.  It's common to use short keys because they're easy to
  236.         remember and enter.  The problem is that exhaustive testing of all
  237.         short keys could succeed with relatively little effort.  Use at least
  238.         8 characters for good protection, and 15 for maximum security.
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                                     - 4 -
  245.  
  246.  
  247.  
  248.  
  249.     6.  Use the cryptographic checksum feature (described in section 3) to
  250.         protect against Trojan horses or other attacks.  It's surprisingly
  251.         simple for a knowledgeable attacker to patch a program so it does what
  252.         he wants.
  253.  
  254.     7.  Watch out for portions of confidential files that may remain on your
  255.         disks.  Normal operations (e.g. editing a WP document or a spread
  256.         sheet model) can leave copies of parts of your files in unused
  257.         portions of the disk.  A knowledgeable user can poke around the disk
  258.         looking for interesting stuff.  This information may reside in two
  259.         places: unallocated clusters, or the unused portion of the last
  260.         cluster of a file.  The first case is easy - unallocated clusters may
  261.         be zeroed using Norton Utilities Wipedisk with the /E option.  The
  262.         second case is tougher because your data can be at the end of ANY
  263.         file, not just the one you're using.  Cipher takes care of the file
  264.         being encrypted by zeroing the unused area at the end, but it doesn't
  265.         do the same for all the files on the disk.  You can partially protect
  266.         against this problem by running Wipedisk immediately after running any
  267.         program that alters files containing confidential information.  This
  268.         clears the information before at has the chance to be included in some
  269.         other file.  The only way to completely protect against this problem
  270.         is to delete all unencrypted files (or encrypt all files) on the disk
  271.         and then using Wipedisk or the like to zero all unused sectors.
  272.  
  273. This all sounds obvious (except for item 7), but many attempts at security are
  274. compromised because of this type of carelessness.
  275.  
  276.  
  277.  
  278. 3   ADVANCED OPERATION
  279.  
  280.     If you don't specify enough information via the command line, Cipher
  281. prompts you.  If you don't code -e or -d, Cipher asks if you want to encrypt
  282. or decrypt.  Cipher also prompts you for the key, the key description, or the
  283. file names if you don't specify them.  File names can include drive letters,
  284. paths, and wild-card characters in the standard MS-DOS format.  To specify
  285. multiple file names separate the names with spaces.  When you enter file names
  286. from the prompt, Cipher lists the name of any files skipped, even if you
  287. specified the -s option.
  288.  
  289.     You may also specify commands and options (but not files) in the
  290. environment variable CIPHROPT.  You can use all commands and options available
  291. from the command line.
  292.  
  293.     If someone alters Cipher you can detect the changes with the cryptographic
  294. checksum feature.  Detecting changes is important because an attacker could
  295. modify Cipher to encrypt files using a weaker method, write all keys to a file
  296. only he knows about, or compromise the protection in some other way.
  297. Detection is guaranteed only if the Cipher you have has not been tampered with
  298. before you received it - see a later paragraph for detecting this situation.
  299.  
  300.     To compute the cryptographic checksum, run Cipher with the -c command.
  301. Cipher asks you for a key, combines this key cryptographically with the file,
  302.  
  303.  
  304.  
  305.                                     - 5 -
  306.  
  307.  
  308.  
  309.  
  310. computes the checksum, and displays it.  You can use any key you want.  If
  311. anyone changes the file or you use a different key, the checksum changes too.
  312. Someone who wants to compromise Cipher is frustrated because they don't know
  313. what key you are using, so they can't make the corrupted Cipher display the
  314. right checksum.  If you compute the checksum when you receive Cipher and write
  315. down the key and checksum in a safe place, you can recompute the checksum at
  316. any time to check for changes.  As long as you keep your key secret (and you
  317. started with an unmodified Cipher), no one can change Cipher and still have it
  318. produce the same checksum.
  319.  
  320.     The cryptographic checksum feature is also used to detect corruption of
  321. Cipher that occurred before you received it.  You can detect Trojan horses,
  322. viruses, or any other alterations to both the program and this documentation.
  323. To test for changes you use a key/checksum combination that you can request
  324. from me you when you register.  You compute the checksum for your Cipher using
  325. the key I provide.  If your Cipher doesn't display the checksum I send, your
  326. copy of Cipher is corrupted.  Since I send a different key (and checksum) to
  327. each registered user, no attacker will be able to obtain your key and checksum
  328. and circumvent the protection.  (Note that when you run any unknown program,
  329. including Cipher, you run the risk of it performing mischief on your system,
  330. so be careful.  It's probably not too helpful to learn that the checksum is
  331. invalid if a Trojan horse has just erased your disk!)
  332.  
  333.  
  334.  
  335. 4   OPERATIONAL DETAILS
  336.  
  337.     This section describes some details of operation that may be of interest,
  338. as follows:
  339.  
  340.     1.  Cipher is careful not to encrypt itself.  This protects you from
  341.         scrambling Cipher and having no way to unscramble it.
  342.  
  343.     2.  When Cipher encrypts or decrypts a file it doesn't alter the file's
  344.         attributes or date/time stamp.
  345.  
  346.     3.  Cipher will not alter files with the system, hidden, or read-only
  347.         attributes.
  348.  
  349.     4.  Encrypted files contain all 256 character combinations even if the
  350.         original file only contained ASCII.  If you want to transmit an
  351.         encrypted file via a modem make sure you use a communication protocol
  352.         that supports binary files.
  353.  
  354.     5.  The key may consist of up to 50 printable characters.  Upper and lower
  355.         case characters are considered to be different.  If you enter too many
  356.         characters or a non-printable character you are notified.
  357.  
  358.     6.  It is possible that on a full disk Cipher will run out of disk space
  359.         when it tries to append the encryption mark to the end. (The mark is
  360.         described in section 5).  If this occurs you will be warned.  No
  361.         damage results - Cipher does not encrypt the file in this case.  This
  362.         problem doesn't occur with decryption.
  363.  
  364.  
  365.  
  366.                                     - 6 -
  367.  
  368.  
  369.  
  370.  
  371.     7.  It is possible that even with the safeguards built into Cipher and
  372.         careful use you will find yourself with an encrypted file and only a
  373.         vague memory of the key.  If you just can't guess the right key,
  374.         you're stuck.  Perhaps a close personal friend who works for the
  375.         National Security Agency could help, but short of that there is no way
  376.         to recover.  I can't help you.  Sorry, but that is, after all, the
  377.         whole point of this product.
  378.  
  379.  
  380.  
  381. 5   TECHNICAL INFORMATION
  382.  
  383.     The encryption method used in Cipher is described in the paper "Wide-Open
  384. Encryption Design Offers Flexible Implementations" by Robert Scott,
  385. CRYPTOLOGIA, January 1985.  Scott's method uses principles derived from the
  386. Data Encryption Standard (DES), a standard for commercial and non-military
  387. governmental data encryption adopted by the National Bureau of Standards in
  388. 1977.  The Scott method employs a longer key (providing greater security) and
  389. executes more rapidly than the DES method.  The algorithm is coded in assembly
  390. language and optimized to make it as fast as possible.  Cipher augments the
  391. Scott method by randomizing the file before encrypting it.  This makes the
  392. encrypted text even more secure, and ensures that patterns in the source file
  393. cannot be detected in the encrypted file.
  394.  
  395.     It should be noted that methods used by many commercial encryption
  396. products are not as secure as claimed.  The paper "A survey of Data Insecurity
  397. Packages" by Martin Kochanski, CRYPTOLOGIA, January 1987, evaluated the
  398. methods used by SuperKey (Borland International), Padlock (Sovereign
  399. Software), PS3 (Stralfors Data Products), Crypt (BCS), and N-Code (K+L
  400. Software).  Kochanski found that "all these packages are vulnerable to known-
  401. plaintext attacks; some with as few as 6 bytes of plaintext needed.  Moreover,
  402. all the packages except N-Code can be broken quite effectively without any
  403. known plaintext at all."  He demonstrated his point by breaking the packages
  404. using standard cryptanalysis techniques and an IBM PC.  The techniques he used
  405. are known to students of cryptanalysis and could be employed by anyone who
  406. wants to steal your information or invade your privacy.  The bottom line is
  407. that if you want to be sure about the security of your files, you must be very
  408. careful in selecting an encryption package.
  409.  
  410.     Kochanski did not examine the Scott method used in Cipher.  He did point
  411. out the weakness of the methods he examined - "All the packages we have looked
  412. at suffer from a lack of diffusion: a small change in the plaintext causes
  413. only a small change in the ciphertext."  The Scott method allows each bit of
  414. plaintext to affect 64 bits of ciphertext.  This diffusion is the same used in
  415. the DES method.
  416.  
  417.     Cipher takes additional measures to ensure security.  Files are encrypted
  418. and decrypted in place (except when file redirection is used) to ensure that
  419. the original information does not remain on disk.  This also avoids running
  420. out of space on full disks.  When files are encrypted in place, the unused
  421. portion of the last cluster of the file (which often replicates data in the
  422. file) is zeroed so that no unencrypted information can be found there.
  423.  
  424.  
  425.  
  426.  
  427.                                     - 7 -
  428.  
  429.  
  430.  
  431.  
  432.     The marking feature that enables Cipher to recall information about an
  433. encrypted file is implemented by appending information to the end of a file
  434. when it is encrypted.  This information contains an encryption signature (used
  435. to determine if the file is encrypted), the key description (that is displayed
  436. in the decryption key prompt), and some encrypted text (used to recognize the
  437. correct key at decryption time).  Note that the encryption key itself if NOT
  438. included.  The file is returned to its original length when it is decrypted.
  439.  
  440.     The cryptographic checksum feature was suggested by Dr. Fred Cohen in the
  441. paper "A Cryptographic Checksum for Integrity Protection", Computers &
  442. Security #6, 1987.  Cipher uses the Scott encryption method instead of the RSA
  443. cryptosystem and reduction in modulus described by Cohen.  Each block of the
  444. file is combined with a number indicating its position in the file, encrypted
  445. with the user-provided key, and added (without carry) into the cumulative
  446. checksum.  As a result any change in a character of the file or its position
  447. is reflected in the checksum.
  448.  
  449.  
  450.  
  451. 6   LICENSING, WARRANTY, and REGISTRATION
  452.  
  453.     Cipher is distributed as user-supported software.  I encourage you to try
  454. the program and share it with friends as long as:
  455.  
  456.     1.  The Cipher program, this documentation, and any other Cipher files are
  457.         not modified and are distributed together.
  458.  
  459.     2.  Cipher is not provided as a part of any other product.
  460.  
  461.     3.  No fees, beyond a reasonable fee for media, duplication, or
  462.         downloading costs, are charged.
  463.  
  464.     4.  Cipher is not used for commercial, government, or business purposes
  465.         without registration.  Each registration is for a single individual or
  466.         a single computer.
  467.  
  468.  
  469.     If you decide to use this product regularly I encourage you to show your
  470. support by registering.  All proceeds of Cipher are directed to Oxfam America,
  471. an international self-help and disaster relief organization that I've
  472. supported for many years.  You can find more about Oxfam by reading section 7.
  473. If you register you get the satisfaction of saving lives in Africa, Asia, and
  474. South America, and encourage me to produce more software at reasonable prices.
  475. You also get the following benefits:
  476.  
  477.     If you request, I'll provide a key/checksum pair for each Cipher file.
  478.     You can then verify that the Cipher you have received is unmodified and
  479.     contains no Trojan horses, computer viruses, or other illegitimate
  480.     changes.
  481.  
  482.     I'll answer questions on Cipher and its use.  You can contact me at the
  483.     address shown below.  I'll respond in writing or by phone.
  484.  
  485.  
  486.  
  487.  
  488.                                     - 8 -
  489.  
  490.  
  491.  
  492.  
  493.     I'll make an attempt (but no guarantee!) to fix any problems you find.
  494.  
  495.     If any important bugs are found I will notify you.  I'll do the same for
  496.     any flaws found in the encryption method that compromise security.
  497.  
  498.     I'll send an updated version of Cipher to you at no additional cost.  You
  499.     can request this when I notify you of a new version, when I've fixed a bug
  500.     you have found, or any other time.  I'll only do this once per registered
  501.     user.
  502.  
  503.  
  504.     Registration is $40.  Please make your check payable to Oxfam America -
  505. I'll send your checks to Oxfam and record your registration information.  I'll
  506. also accept original canceled checks or receipts from Oxfam that list you as
  507. the donor.  Please send payments, registration information, and any other
  508. correspondence to:
  509.  
  510.            Mike Albert
  511.            Suite 42
  512.            P. O. Box 2100
  513.            Chelmsford, MA   01824
  514.  
  515.     Anyone can order the latest version of Cipher directly from me for a fee
  516. of $5.00.  Just send the order (make sure it contains your mailing address)
  517. with your check to the above address.  You'll receive a 5 1/4 inch 360K floppy
  518. disk containing the Cipher executable and documentation files.  If you live
  519. outside North America, please send extra money for the increased postage.
  520.  
  521.     I welcome all comments and suggestions concerning Cipher.  I'd like to
  522. know how you are using Cipher and what problems, bugs, or weaknesses you find.
  523. If you tell me about enhancements or changes you're interested in, I'll make
  524. an effort to provide them.  I'd also like to know what other products you
  525. would like to see.
  526.  
  527.     This program is provided "as is" without warranty of any kind, either
  528. express or implied, but not limited to the implied warranties of
  529. merchantability or fitness for a particular purpose.  The entire risk as to
  530. the results and performance of the program is assumed by the user.  Should the
  531. program prove defective, the user assumes the entire cost of all necessary
  532. servicing, repair, or correction.
  533.  
  534.  
  535.  
  536. 7   OXFAM AMERICA
  537.  
  538. As stated in Oxfam literature,
  539.  
  540.     "Oxfam America is an international agency that funds self-help development
  541.     projects and disaster relief in poor countries in Africa, Asia, and Latin
  542.     America, and also prepares and distributes educational materials for
  543.     people in the United States on the issues of development and hunger.  The
  544.     name "Oxfam" comes from the Oxford Committee for Famine Relief, founded in
  545.     England in 1942.  Oxfam America, based in Boston, was formed in 1970, and
  546.  
  547.  
  548.  
  549.                                     - 9 -
  550.  
  551.  
  552.  
  553.  
  554.     is one of seven autonomous Oxfams around the world (Great Britain,
  555.     Australia, Belgium, Canada, Quebec, Hong Kong and the United States).
  556.     Oxfam is a nonsectarian, nonprofit agency that neither seeks or accepts
  557.     U.S. government funds.  All contributions are tax-deductible to the extent
  558.     permitted by law."
  559.  
  560. For more information, you can phone Oxfam at 617-482-1211, or write to them
  561. at:
  562.  
  563.              Oxfam America
  564.              115 Broadway
  565.              Boston, MA  02116
  566.  
  567.  
  568.  
  569. 8   REVISION HISTORY
  570.  
  571.     CIPHER version 1.2 - 8/1/89
  572.  
  573.         Added decryption of files encrypted by earlier versions of Cipher.
  574.         Version 1.2 will decrypt files encrypted by versions 1.00 and 1.1.
  575.         Versions 1.00 and 1.1 can only decrypt files encrypted by themselves.
  576.  
  577.         Added encryption of files that are already encrypted.  This lets two
  578.         people control the use of one file - each person can encrypt with his
  579.         own password.  It also provides even greater security.  The feature is
  580.         invoked via the -r option.
  581.  
  582.  
  583.     CIPHER version 1.1 - 7/1/89
  584.  
  585.         Added encryption/decryption of files without overwriting original
  586.         file.
  587.  
  588.         Enhanced encryption method to ensure that patterns in the original
  589.         file cannot be detected by examining the encrypted file.  Note that
  590.         files generated by Cipher versions 1.00 and 1.1 are incompatible.
  591.  
  592.         Directed all Cipher proceeds to Oxfam America.
  593.  
  594.         Improved some messages.
  595.  
  596.  
  597.     CIPHER version 1.00 - 3/30/88
  598.  
  599.         Original program.
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.                                     - 10 -
  611.